package com.huihe.framework.generator;

import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.UUID;

/**
 * 自定义ID生成策略(Mybatis-Plus)
 */
@Slf4j
@Component
public class CustomIdGenerator implements IdentifierGenerator {

    /**
     * 生成数字类型的主键 ID
     * @param entity 当前正在插入的实体对象
     * @return ID
     */
    @Override
    public Number nextId(Object entity) {
        return UUID.randomUUID().toString().replaceAll("-", "").hashCode();
    }

    /**
     * 生成字符串类型的主键 ID
     * @param entity 当前正在插入的实体对象
     * @return ID
     */
    @Override
    public String nextUUID(Object entity) {
        return UUID.randomUUID().toString();
    }
}
